#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QSqlDatabase>
#include <QSqlTableModel>
#include <QMessageBox>
#include <QSqlQuery>
#include <QList>
#include <QStandardItemModel>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QString ac,int r,QSqlDatabase* db,QWidget *parent = nullptr);//第一个参数表示用户账号,第二个参数表示用户类型,第三个参数传递数据库连接
    ~MainWindow();

private slots:
    void on_actBookManage_triggered();

    void on_actOrderManage_triggered();

    void on_actUserManage_triggered();

    void on_btnAppendBook_clicked();

    void on_btnDeleteBook_clicked();

    void on_btnResetBook_clicked();

    void on_btnSubmitBook_clicked();

    void on_btnAppendUser_clicked();

    void on_btnDeleteUser_clicked();

    void on_btnResetUser_clicked();

    void on_btnSubmitUser_clicked();

    void on_checkBox_stateChanged(int arg1);

    void on_tvOrder_doubleClicked(const QModelIndex &index);



    void on_btnIgnore_clicked();

    void on_btnPass_clicked();

    void on_stackedWidget_currentChanged(int arg1);

    void on_combBookType_currentTextChanged(const QString &arg1);

    void on_btnFind_clicked();

    void on_btnAppendBox_clicked();

    void on_actBuyBook_triggered();

    void on_btnClearBox_clicked();

    void on_btnOrder_clicked();

    void on_actMyorder_triggered();

    void on_tvUserOrder_doubleClicked(const QModelIndex &index);

    void on_btnIgnorePay_clicked();

    void on_btnPay_clicked();

    void on_widgetBuy_currentTextChanged(const QString &currentText);

private:
    Ui::MainWindow *ui;

    QString m_account;//记录当前账号
    int m_role;//记录当前登陆用户类型,0表示管理员,1表示普通用户
    QSqlDatabase m_db;//记录数据库连接
    QSqlTableModel* m_bookModel;//记录书籍数据表
    QSqlTableModel* m_orderModel;//记录订单数据表
    QSqlTableModel* m_userModel;//记录用户数据表
    QStringList m_bookTypeList;//记录书籍类型

    void iniUI();//初始化ui

    QStringList analyShopBox(QString);//解析购物车,键表示书籍编号,值表示书籍数量




};
#endif // MAINWINDOW_H
